Amazon EC2 Systems Managerの階層パラメータを試してみる
こんにちは、菊池です。
Amazon EC2 Systems Managerの機能の1つ、パラメータストアで階層管理の機能が追加されました。
階層構造でパラメータを定義することで、本番、開発といった環境や、組織単位での管理がしやすくなります。
パラメータ階層
例えば、本番/ステージング/開発の3つの環境をもつDBのパスワードの場合、/(環境名)/db/passのような形式でパラメータを定義できます。
試しに、3環境、6つのパラメータを作成しました。
- /prd/db/user
- /prd/db/pass
- /stg/db/user
- /stg/db/pass
- /dev/db/user
- /dev/db/pass
階層で作成したパラメータは、GetParametersByPath APIを使うことで、一括で取得することができます。AWS CLIからはSSMのget-parameters-by-path
コマンドを使います。
$ aws ssm get-parameters-by-path --path /prd/db { "Parameters": [ { "Type": "String", "Name": "/prd/db/pass", "Value": "PRDPASSWORD" }, { "Type": "String", "Name": "/prd/db/user", "Value": "prd-db-user" } ] }
2つのパラメータが1つのコマンドで取得できました。
最後に
小ネタですが、新機能の階層パラメータを試しました。パラメータストアは、インスタンスで利用するパラメータをAWSサービスで管理できるので便利です。管理性も向上したので積極的に利用していきたいですね。